Índice
Parte I: Mejoras sobre los
experimentos del hito 2.
Hipótesis planteadas para el
hito 2.
Preparación y parametrización
de funciones de apoyo.
Resultados y análisis del
Experimento 1.
Ejecución del clasificador
SVM y despliegue de los resultados
Resultados y análisis del
Experimento 2.
Ejecución del clasificador
K-means y despliegue de resultados
Resultados y análisis del
Experimento 3.
Resultados y análisis del
Experimento 4.
Experimentos del hito 2
aplicando normalización, oversampling y subsampling.
Uso de clasificadores con
datos originales, oversampling y subsampling.
Parte II: Análisis usando
clustering.
2.2
Evaluación de métricas para K-means.
2.3
Conclusiones del experimento para K-means.
3.1
Ejecución de Clustering utilizando DBSCAN.
3.2 Evaluación de métricas
para DBSCAM.
3.3 Conclusiones del
experimento para DBSCAM.
Medición de fluctuaciones en las
curvas de luz de estrellas lejanas por parte del telescopio Kepler, construido
por la NASA. Se genera datos como:
·
Periodo de órbita
·
Masa del exoplaneta
·
Tamaño del exoplaneta
·
Temperatura esperada
Nuestra base de datos incluye:
·
10.000 entradas de 50 variables
·
Clasificados como CONFIRMED, FALSE POSITIVE,
CANDIDATE
· Flags calculadas por Kepler que ayudan en la clasificación
·
Explorar diferentes formas de clasificar o
detectar exoplanetas a partir de información otorgada por telescopio Kepler.
·
Entender relaciones entre distintos atributos
medidos por el telescopio.
· Mejorar métodos de clasificación.
El presente trabajo contiene el desarrollo
de algunas de las hipótesis enunciadas en el hito 1, considerando los análisis
preliminares de datos, asi como la exploración y conocimiento de las variables
conformadas en el dataSet.
El Observatorio Espacial Kepler es un satélite construido por la NASA que se lanzó en 2009. El telescopio de dicho observatorio está dedicado a la búsqueda de exoplanetas en sistemas estelares, con el objetivo final de posiblemente encontrar otros planetas habitables. Los datos corresponden a 9.564 observaciones (registros), representados por 50 variables de estudio. El objetivo de este trabajo es ver la posibilidad de usar Data Mining para facilitar la clasificación de exoplanetas. De esta forma, se podrían reducir el tiempo asociados a clasificar exoplanetas, ya que no se necesitarían mediciones adicionales para validar la presencia o no de un exoplaneta.
En base a los comentarios generales y particulares
entregados en el Hito 1, procedimos a reescribir la motivación de este proyecto
para dejar claro el objetivo y los alcances de este proyecto. En esta misma
línea, nos preocupamos de ahondar en la utilidad de este proyecto. Asimismo,
tomamos en cuenta las sugerencias en cuanto a redacción y presentación que
recibimos para dejar en claro las hipótesis e ideas presente en el informe.
Por último, mantuvimos la trasparencia para distinguir las
fuentes y códigos previamente hechos, de los cuales nos apoyamos en esta
segunda entrega.
Proponemos analizar si es que es posible deducir el
comportamiento de algunas de las variables de las observaciones kepler a partir
de otros subconjuntos de atributos. Nos parece que esto puede ser un resultado
útil, ya que ahorraría en cuanto a la cantidad de mediciones necesarias,
analizando para que tipos de medición es válida esta afirmación.
Para esto, surgen las siguientes hipótesis para analizar los
datos y generar contribuciones misión Kepler.
1.
Es
posible deducir valores de ciertas mediciones a partir de subconjuntos de
atributos que no están directamente relacionados.
2.
Identificar
la relación entre los valores binarios que toman los flags de (koi_fpflag_nt,
koi_fpflag_ss, koi_fpflag_co, koi_fpflag_ec) y los 649 valores para koi_sore,
en el conjunto de variables del tipo Project disposición columns.
3.
Identificar
la relación entre los 649 valores para koi_score y las combinaciones posibles
para koi_disposition (candidato, conformado, falso positivo) y koi_pdisposition
(candidato, falso positivo).
4.
¿Qué
relación existe entre los valores de koi_disposition (candidato, conformado,
falso positivo) y koi_pdisposition (candidato, falso positivo) y el
comportamiento del vector conformado por las variables (koi_fpflag_nt,
koi_fpflag_ss, koi_fpflag_co, koi_fpflag_ec)?
5.
Predecir
la pertenencia a un valor para koi_tce_deliverance (3 valores posibles), dado
el resto de las variables que representan comportamientos, características y
mediciones.
6.
Existe
una relación directa entre la cantidad de exoplanetas en un sistema y las
características de la estrella a la cual pertenecen.
7.
Existe
una relación entre las características de los exoplanetas y la estrella del
sistema al cual pertenecen.
8.
Clasificar
distintos tipos de falsos positivos.
Para la realización de nuestros experimentos, el primer paso
consistío en eliminar las variables que estan fuera del dominio, respecto del
desarrollo de las hipótesis planteadas, o bien, aquellas variables que no es
necsario considerar, tomando ocom referencia nuestros estudios preliminares
informados el el hito 1, así como el análisis EDA revisado en su oportunidad.
Para lograr esto, procedimos a definir el conjunto data2, que sólo contiene
koi_dispotition y aquellos flags que decidimos considerar en algunos de
nuestros estudios, además de resguardar el conjunto data original, cuando
tengamos que recurrir a este. Simultáneamente, definimos estructuras de datos
para identificar y eliminar posteriormente, por áreas temáticas del dataset,
aquellas variables no no entregaban información relevante o que consideramos de
poco valor: los errores redundantes y sin datos, los identificadores y nombres,
los resultados del análisis kepler. Finalmente, mediante el análisis sobre el
atributo "koi_disposition", pudims constatar que la clase
FALSE_POSITIVE es la que tiene mayor dominancia de forma significativa,
respecto de CONFIRMED y CANDIDATE.
Para realizar el Preprocesamiento del dataset, se procesaron
los datos en dos conjuntos separados, data y data2, para obtener aquellos
registros que tengan las clases de registros de exoplanetas que pertenezcan a
la clase CONFIRMED o FALSE_POSITIVE, junto con la limpieza de aquellos
registros nan, para posteriormente hacer el mapeo de los atributos de clase a
tipos numéricos que permitan proceder con los experimentos. De este modo, se
consideró separar el data Set en un conjunto de train de un 70% y de test de un
30%, con los respectivos vectores que representan los atributos (X_train,
X_test) y aquellos que representan las clases (y_train, y_test). Este trabajo
se realizó tanto para el conjunto de datos data como data2. Además, para el
hito 3 se procedio a normalizar los datos para evaluar posibles mejoras en los
resultados de clasificsación al trabajar todos estos valores en una base
normal.
Las funciones de apoyo que se describen a continuación han
sido consideradas para la generación gráfica de las matrices de confusión que
serán calculadas para cada uno de los experimentos (plot_confusion_matrix),
junto con la función plot_classification_report que recibe como parámetro la
llamada de classification_report(y_true, y_pred) para plotear estos valores.
Por su parte, la función plot_cr es la encargada de generar el reporte de las
métricas para 'precision', 'recall', 'f1-score', para representar las clases en
el eje Y y los valores en el eje X, respectivamente.
También haremos uso de la función del laboratorio 2
run_classifier, la cual evalúa un clasificador clf recibido como parámetro un
dataset X,y y un número de tests llamado num_test, que en nuestro caso hemos
definido como 100 instancias. Esta función almacena y retorna los valores de
precision, recall y f1-score en la variable metrics. Adicionalmente, definimos
el conjunto de test para nuestro experimento en un 30% de los datos.
Para este experimento se quiere poder identificar la presencia
de exoplanetas en los sistemas solares. Por esto se decidió ocupar tan solo las
clases 'CONFIRMED' y 'FALSE POSITIVE', ya que el objetivo no es predecir el
resultado del telescopio Kepler, sino que los resultados reales.
Con respecto a las variables de entrada, se ocupó todas las
que no fueron eliminadas anteriormente, ya que no se sabe cuáles puedan afectar
más en la desición que otras.
El primer clasficador utilizado, corresponde al SVC (Support
Vector Classifier), con gamma que define cuánta influencia tiene un solo
ejemplo de entrenamiento.
El siguiente código, que reutilizaremos proveniente del
laboratorio 2, compara los distintos clasificadores que utilizaremos (Base
Dummy, Árbol de Decisión, Naive bayes Gaussiano y KNN), todas implementaciones
de sklearn.
Como se puede constatar en los resultados desplegados del
experimento 1, la matriz de confusión que nos entrega una mayor calidad
respecto de la relación de las clases confirmados y falsos positivos, sobre los
valores reales versus los resultantes de las predicciones, corresponde al
experimento Decision_Tree lo que se condice con las métricas más altas
alcanzadas por este, respecto de precisión, recall y f1-score.
En cuanto al uso de normalizar los datos, podemos apreciar a
partir de los resultados una leve mejora en cuanto a las métricas evaluadas, de
0.89 a 0.95. Además, se mantiene Decision_Tree como el mejor clasificador en
comparación con los otros utilizados.
Crearemos clasificadores que intenten predecir la cantidad
de planetas en base a las características de la estrella. Para esto se extrajo
las variables dentro de la tabla de datos que correspondían a características
de la estrella, lo cual se puede identificar fácilmente pues la especificación
de los datos incluye esta información. Se utilizó la cantidad de planetas por
sistema como la clase a predecir.
Como se puede constatar en los resultados desplegados del
experimento 2, sobre la matriz de confusión que nos entrega una mayor calidad
respecto de la relación de los ejemplares que pertenecen a la clase de n
exoplanetas (en base a las características de la estrella), sobre los valores
reales versus los resultantes de las predicciones, no podemos decir que un
clasificador se comporte de mejor forma respecto a otro, salvo en casos
puntuales de clases específicas como sucede con todos los clasificadores
respecto de las estrellas que tienen un sólo exoplaneta, pero este resultado
está lejos de reflejar una tendencia y ser concluyente, porque esta relación se
pierde para todas las demás clases. Lo anterior se ve reflejado en el
deficiente desempeño de las métricas precisión, recall y f1-score. En
consecuencia, no podemos afirmar que existe una relación directa entre el
número de exoplanetas que posee una estrella y las propiedades de esta.
Primero se debe diferenciar las características de las
estrellas y las de los exoplanetas. Luego se probará con diferentes algoritmos
de clustering, viendo si existe una diferencia significativa al clusterizar
solo los atributos de las estrellas vs los atributos de las estrellas y de los
planetas.
Para esto se extrajo las características de las estrellas y
de los planetas de manera separada. Esta información está documentada en la
fuente de los datos, por lo que no fue dificil hacer la separación.
Como se puede constatar en los resultados desplegados del
experimento 3, el mejor experimento al considerar las características de sólo
las estrellas (en azul), está dado por 3 clusters, con un score aproximado a
0.58. lo anterior significa que, considerando las características de sólo las
estrellas, existen tres grupos que reúnen ejemplares similares. Sin embargo,
esta relación se mantiene relativamente constante y con una calidad inferior,
respecto de agrupaciones configuradas con un número de cluster ascendentes, lo
que quiere decir que significativamente no existe un clustering mejor que otro,
o bien, no podemos concluir nada respecto de estas agrupaciones con lo que no
se prueba la hipótesis del experimento. Por otra parte, al considerar ambos
grupos de características (en rojo), pareciera existir una tendencia con 2 o 3
clusters pero esta se pierde rápidamente en la medida que aumentan el número de
estos. Al analizar este experimento, para estar en condiciones de indicar que
un grupo de clusters representan algo, deberian producirse diferencias
significativas entre el score cuando aumenta o disminuye el número de clusters
pero de un valor sucesivo a otro.
Ahora bien, con los datos normalizados se muestra una mejora
en la agrupación de elementos según sus atributos de la estrella a la cual
pertenecen, al menos para el primer cluster. De todos modos, esta mejora no se
logra visualizar con el uso de más clusters, por lo que llegamos a la misma
conclusión obtenida con los datos sin normalizar.
Buscamos una relación entre los flags presentes en el
dataset y los resultados de la columna de clasificación koi_disposition.
En este caso, el experimento es parecido al primero, solo
que las clases objetivo son las flags que entrega kepler cuando hace su
análisis de los datos. Las variables de entrada es toda la tabla de datos luego
del preprocesamiento.
Como se puede constatar en los resultados desplegados del
experimento 4, el mejor clasificador es indistintamente Decision Tree en
conjunto con KNN respecto de las métricas precision, recall y f1-score. Sin
embargo, Decision Tree y KNN funciona mejor en identificar ejemplares que
pertenecen a la clase CANDIDATE, pero difieren en su desempeño con las clases
restantes; concretamente, KNN presenta una mejor clasificación para las clases
CONFIRMED y FALSE_POSITIVE, aunque estas tienen una precisión cercana al 50%
para cada una de ellas. Con lo anterior podemos indicar que puede existir una
relación entre los valores de koi_disposition (candidato) y el comportamiento
del vector conformado por las variables indicadas, pero no podemos indicar una
tendencia clara respecto de las clases confirmado y falso positivo.
Cabe destacar, que no fue necesario normalizar los datos
para ese experimento, ya que los atributos invoucrados son de caracter
booleano.
Como trabajo futuro nos proponemos ir incorporando
sucesivamente los conocimientos teóricos y prácticos adquiridos durante los
laboratorios 3 y 4, para enriquecer el análisis y el proceso de data minig que
estamos ejecutando en esta problemática partícular, de modo de enriquecer los
experimentos realizados, adquirir un mejor entendimento de los datos y poder
robustecer nuestro tratamiento sobre las hipótesis que hemos decidido abordar.
Adicionalmente, podemos identificar las siguientes líneas de acción para el
próximo hito:
·
Normalizar
los resultados de los atributos para evitar dominancia de unas clases sobre
otras, producto de la presencia de ejemplares.
·
Replicar
los experimentos bajo un enfoque de overfitting y underfitting.
·
Analizar
las hipótesis restantes.
·
Verificar,
en los experimentos futuros,si podemos sostener la capacidad de apoyar la
clasificación de exoplanetas utilizando DM.
·
Utilizar
otras técnicas de DM.
·
Normalizar
datos (restar media y dividir por desviación estándar)
·
Repetir
los experimentos anteriores usando Oversampling y Subsampling
·
F1-score
mejora de 0.89 a 0.95 para clase CONFIRMED
·
Variación
de 1% entre Oversampling y Subsampling para Precision de clase FALSE POSITIVE y
Recall de clase CONFIRMED
·
Precision
de la clase FALSE POSITIVE se mantiene igual
·
Aumenta
el Recall de la clase CONFIRMED de 0.88 a 0.94
·
Oversampling
presenta un mejor resultado
·
Mejor
clasificador para datos normales y con oversampling: Decision Tree
·
Mejor
clasificador para datos con subsampling: Decision Tree y KNN
·
Oversampling
aumenta las tres métricas de 0.89 a 0.92
Aplicamos Kernel PCA con kernel gaussiano a los datos para
reducir su dimensionalidad, maximizando la varianza. Se espera con esto
facilitar el trabajo de los clasificadores con una mejor separación de los
puntos, y de esta manera mejorar su rendimiento.
Primero hacemos un análisis de varianza con PCA lineal, para
luego tomar la cantidad de variables necesarias para llegar a esa varianza y
usarlas en la transformación gaussiana.
Implementamos una red neuronal de 3 capas ocultas, con 10
perceptrones por capa. Esto para mejorar los resultados obtenidos con los clasificadores
más simples usados en las partes anteriores.
Observamos que los resultados obtenidos por estos
clasificadores son mucho mejor a los obtenidos con cualquier otro usado
anteriormente. Sin embargo hay que notar que aplicar PCA a nuestros datos provocó
una baja en el rendimiento de al rededor de un 5%, contrario a lo predicho
inicialmente.
El presente trabajo consiste en un análisis del data set kleperData el cual contiene la selección de 6 variables de estudio, las que se indican en la siguiente sección de preparación de datos, excluyendo aquellas variables flags de errores consideradas en el data set original. Se utiliza como punto de partida el dataset data del hito 2, el cual es un data set procesado donde ya se han limpiado y preprocesado los datos para los experimentos e hipótesis el hito 2 . Para este trabajo, se someterán los datos a los algoritmos de clustering revisados en este curso :kmeans, clustering jerárquico y DBSCAN. El objetivo de este trabajo es encontrar agrupaciones significativas que permitan explicar o complementar los análisis realizados en los hitos anteriores.
Los atributos del dataset corresponden a parámetros de tránsito planetario. Estos se ajustan a una curva de luz de Kepler de varios trimestres, suponiendo una efemérides orbital lineal. Ejemplos son: el periodo orbital en días, la época de tránsito, parámetro de impacto, duración del tránsito en horas, profundidad del tránsito, radio planetario, temperatura del planeta, flujo de insolación.
para este trabajo se seleccionaron los siguientes atributos de tránsito estelares:
· koi_period: periodo orbital en días. El intervalo entre tránsitos planetarios consecutivos.
· koi_impact: La distancia proyectada al cielo entre el centro del disco estelar y el centro del disco del planeta en conjunción, normalizado por el radio estelar.
· koi_duration: La duración de los tránsitos observados. La duración se mide desde el primer contacto entre el planeta y la estrella hasta el último contacto. se mide en horas.
· koi_depth:profundidades del tránsito (partes por millón)
· koi_insol: flujo de insolación. Depende de los parámetros estelares (específicamente el radio estelar y la temperatura), y en el semieje mayor del planeta.
· koi_tce_plnt_num: valor
categórico.TCE Planet Number.
## 'data.frame': 6630 obs. of 6 variables:
## $ data.koi_period : num 9.49 54.42 19.9 1.74 2.53 ...
## $ data.koi_impact : num 0.146 0.586 0.969 1.276 0.701 ...
## $ data.koi_duration : num 2.96 4.51 1.78 2.41 1.65 ...
## $ data.koi_depth : num 616 875 10829 8079 603 ...
## $ data.koi_insol : num 93.59 9.11 39.3 891.96 926.16 ...
## $ data.koi_tce_plnt_num: num 1 2 1 1 1 1 2 3 1 1 ...
summary(kleperData)
## data.koi_period data.koi_impact data.koi_duration
## Min. : 0.2997 Min. : 0.0000 Min. : 0.167
## 1st Qu.: 2.1818 1st Qu.: 0.2240 1st Qu.: 2.542
## Median : 7.9674 Median : 0.5800 Median : 3.892
## Mean : 52.7410 Mean : 0.7753 Mean : 5.767
## 3rd Qu.: 29.2159 3rd Qu.: 0.9170 3rd Qu.: 6.296
## Max. :1071.2326 Max. :100.8060 Max. :138.540
## data.koi_depth data.koi_insol data.koi_tce_plnt_num
## Min. : 4.5 Min. : 0 Min. :1.000
## 1st Qu.: 186.2 1st Qu.: 25 1st Qu.:1.000
## Median : 513.4 Median : 180 Median :1.000
## Mean : 30470.3 Mean : 7883 Mean :1.228
## 3rd Qu.: 2829.7 3rd Qu.: 1191 3rd Qu.:1.000
## Max. :1541400.0 Max. :10947555 Max. :8.000
dim(kleperData)
## [1] 6630 6
## $centers
## data.koi_period data.koi_impact data.koi_duration data.koi_depth
## 1 1.1107542 0.4316000 2.347340 408.540
## 2 25.0008292 0.6282521 7.479886 340715.952
## 3 54.6690297 0.7856577 5.654225 9496.325
## 4 0.5667935 0.0600000 4.714000 92.400
## data.koi_insol data.koi_tce_plnt_num
## 1 2736813.464 1.000000
## 2 4037.503 1.016667
## 3 4180.422 1.242908
## 4 10947554.550 1.000000
##
## $totss
## [1] 2.253464e+14
##
## $withinss
## [1] 5.479800e+12 9.282935e+12 1.042007e+13 0.000000e+00
##
## $tot.withinss
## [1] 2.51828e+13
##
## $betweenss
## [1] 2.001636e+14
Vemos que muestra un resumen con la cantidad de clusters, los tamaños por cluster, los centroides (cluster means), el vector (las etiquetas a cada uno de los puntos), el error obtenido, y los atributos posibles del objeto (como cluster, centers, totss, etc.)
Las asignaciones de cada una de las 6630 observaciones de kleperData están contenidas en k$cluster:
head(km.out$cluster)
## [1] 3 3 3 3 3 3
Conociendo el tamaño de cada cluster:
km.out$size
## [1] 5 420 6204 1
Información sobre donde están ubicados los centroides:
km.out$centers
## data.koi_period data.koi_impact data.koi_duration data.koi_depth
## 1 1.1107542 0.4316000 2.347340 408.540
## 2 25.0008292 0.6282521 7.479886 340715.952
## 3 54.6690297 0.7856577 5.654225 9496.325
## 4 0.5667935 0.0600000 4.714000 92.400
## data.koi_insol data.koi_tce_plnt_num
## 1 2736813.464 1.000000
## 2 4037.503 1.016667
## 3 4180.422 1.242908
## 4 10947554.550 1.000000
Estimando la cantidad de clusters con wss o método del codo:
El gráfico nos muestra el error de K-Means usando diferentes números de clusters. Acá se puede notar que un valor óptimo es 4.
Visualización de clusters: Podemos ver
si hay grupos entre pares de variables usando pairs, lo que genera un
scatterplot matrix. Acá podemos notar que hay una separación en los datos. En
este caso tenemos seis atributos, y podemos ver cómo se comportan.
Respecto del clustering utilizando K-Means, podemos ver que el óptimo indicado, según el método del codo, recae en k=4. sin embargo, decidimos ver que sucede al aumentar el número de k, realizando para ello 4 experimentos: KM4, KM5, KM6 y KM7.
Estos experimentos sucesivos también representan continuidad del codo, según la heurística indicada.
Considerando el criterio de separación entre clusters, el mejor experimento corresponde al modelo KM4, mientras que el mejor experimento respecto de la cohesión entre los ejemplares que pertenecen a un cluster, la encontramos en KM7.
Es importante indicar que el patrón de comportamiento de los clusters siempre tuvo una configuración similar, donde lo que se produjo es que los clusters más pequeños simpre pertenecían mayoritariamente a un cluster mayor, aparecido en el experimento anterior de menor K. por último, podemos notar que en la medida que aumentamos el valor de k, el cluster mayoritario (el de mayor dominancia en el primer experimento K=4) es el que se mantiene en presencia, mientras que los clusters de menor tamaño parecen desagregarse en clusters más pequeños. la otra característica a destacar, es que siempre existe una intersección o solapmiento de clusters, salvo los clusters notoriamente pequeño que parecen representar ruido.
Este método permite identificar clusters cuyos datos contienen mucho ruido, outliers y presentan una forma poco clara de separar en un plano. Realizaremos una serie de experimentos eligiendo las combinaciones de atributos que permitan encontrar una mejor clusterización, con un radio (eps=7) y con 20 puntos dentro del cluster (minPts = 20)
Experimento db1:
Experimento db2:
Experimento db3:
Experimento db4:
Experimento db5:
Experimento db6:
Experimento db7:
Experimento db8:
Experimento db9:
Experimento db10:
Experimento db11:
Experimento db12:
Experimento db13:
Experimento db14:
Experimento db15:
Considerando cada una de las variables del dataSet KleperData, se optó por generar 15 experimentos, según todas las combinaciones posibles de las 6 variables: se excluyen los pares simétricos ya que (variable_x, variable_2_y) es igual a (variable_y, variable_x) y las diagonales (variable_n, variable_n). de este modo pudimos observar si es posible realizar clustering que sea importante para entender si existían grupos de datos.
Según el criterio de separación, el mejor modelo fué dado por db7, al considerar las variables de profundidad e impacto. Sin embargo, este exprimento tiene prácticamente un solo cluster con 4.058 observaciones y 2.319 que corresponden a ruido, donde todos los otros cluster son insignificantes.
El criterio de cohesión indica que el mejor experimento fué dado por db14 al considerar las variables de profundidad y número planetario, donde nos encontramos con una situación similar al experimento anterior con una clase dominante de 4.060 ejemplares, 2.316 que corresponden a ruido, y cuatro clusters con número de ejemplares insignificantes.
De los 15 experimentos, la tendencia encontrada en aquellos donde se encontraron 5,6,7,8 clusters fué que existe una clase que concentra la gran mayoria de los ejemplares, siendo siempre las otras insignificantes. dependiendo de las variables seleccionadas, en algunos se logró reducir sustantivamente el ruido (db5, db1). los experimentos db6, db9 y db12 confirman que en realidad existe un único cluster.db4 y db10 son depuraciones de esta situación, pero con la aparición de pequeños clusters marginales.
El
dataset utilizado, si bien es cierto, presenta información adecuadamente
caracterizada respecto del objeto de estudio, al considerar un buen número de
features y pocos registros nulos en algunos atributos puntuales, no representa
necesariamente una garantía que nos permitiera extraer conocimiento útil
respecto de la observación y entendimiento de los exoplanetas representados en
este. Específicamente, para las hipótesis elaboradas por nosotros, sólo
logramos visualizar algunos comportamientos de datos, pero habría sido útil
para nuestros experimentos contar con un contexto experto que nos permita
entender con mayor profundidad qué es lo representado por las variables. Si
bien es cierto, la información a nivel de diccionario de datos y descripción de
las variables era adecuada y muy completa, creemos no fué suficiente para
abordar nuestras hipótesis con conocimiento real de causa.
Sin
embargo, el diseño del trabajo que fué indicado nos pareció útil en nuestro
aprendizaje, al entender que primero se debe hacer una exploración inicial de
los datos para conocer las presencias de clases, y la calidad de la información
en términos generales, para luego elaborar un conjunto de hipótesis, preparar
el dataset para las exigencias específicas de cada una de ellas y finalmente,
ejecutar un conjunto de algoritmos de Data mining para poder validarlas. Junto
con esto, fue enriquecedor conocer las librerías de R y de python que
implementa cada uno de estos algoritmos. En este contexto, entendimos que
algunos algoritmos son adecuados dada la intersección del problema (hipótesis
abordada) con las posibilidades de los datos y de su preprocesamiento para tal
efecto.
En
el hito 3 logramos depurar el setup de nuestros algoritmos mediante
oversampling y subsampling, permitiendo de este modo, llegar a resultados de
mejor calidad. También nos pareció muy interesante contrastar un enfoque de
aprendizaje supervisado con un clustering, tratando de buscar explicaciones a
los patrones de comportamiento que encontramos en el hito 2. Logramos constatar
que existe un grupo de datos que representaría una clase dominante, sin embargo
no logramos obtener ninguna interpretación significativa de este resultado.
Además de lo anterior, pudimos utilizar y experimentar con otros algoritmos
además de los adquiridos en la formación de este curso.
Por
último, creemos que puede ser más exitoso trabajar con hipótesis binarias sobre
la presencia o ausencia de una clase, representada por alguna variable, y
contar con una colaboración de distintos clasificadores, cada uno especializado
en clasificar o entender una variable específica, en lugar de buscar un modelo
que entienda lo que sucede con todos los datos. Esta conclusión es una
reflexión profunda respecto de nuestros propios experimentos, así como de todas
las situaciones vistas en las exposiciones de los trabajos de los compañeros,
donde siempre fué mejor acotar el problema y su dominio, y específicamente,
acotar el diseño del mismo clasificador.